package com.vion.util;

import com.vion.constant.Constants;

public class JsonMessageUtil {
	/**
	 * 返回成功json信息
	 * 
	 * @param msg
	 *            成功信息
	 * @param data
	 *            对应的数据
	 * @return json消息对象
	 */
	public static <T> JsonMessage<T> getSuccessJsonMsg(String msg, T data) {
		JsonMessage jsonMessage = getJsonMessageInstance();
		jsonMessage.setSuccess(true);
		jsonMessage.setCode(Constants.APP_CODE_SUCCESS);
		jsonMessage.setMsg(msg);
		jsonMessage.setData(data);
		return jsonMessage;
	}
	public static<T> JsonMessage<T> getSuccessJsonMsg(T data) {
		return getSuccessJsonMsg("", data);
	}
	public static JsonMessage getSuccessJsonMsg(String msg) {
		return getSuccessJsonMsg(msg, null);
	}
	/**
	 * 返回成功跳转信息
	 * 
	 * @return json消息对象
	 */
	public static JsonMessage<String> getRedirectJsonMsg(String URL) {
		JsonMessage jsonMessage = getJsonMessageInstance();
		jsonMessage.setSuccess(true);
		jsonMessage.setCode(Constants.WEB_CODE_REDIRCET);
		jsonMessage.setData(URL);
		return jsonMessage;
	}

	/**
	 * 返回资源为空json信息
	 * 
	 * @param msg
	 *            成功信息
	 * @return json消息对象
	 */
	public static JsonMessage getResourceEemptyJsonMsg(String msg) {
		JsonMessage jsonMessage = getJsonMessageInstance();
		jsonMessage.setSuccess(true);
		jsonMessage.setCode(Constants.APP_CODE_RESOURCE_EMPTY);
		jsonMessage.setMsg(msg);
		jsonMessage.setData(null);
		return jsonMessage;
	}
	
	/**
	 * 返回失败json信息
	 * 
	 * @param msg
	 *            成功信息
	 * @return json消息对象
	 */
	public static JsonMessage getErrorJsonMsg(String msg) {
		JsonMessage jsonMessage = getJsonMessageInstance();
		jsonMessage.setSuccess(false);
		jsonMessage.setCode(Constants.APP_CODE_ERROR);
		jsonMessage.setMsg(msg);
		jsonMessage.setData(null);
		return jsonMessage;
	}

	/**
	 * 返回失败json信息
	 *
	 * @param msg
	 *            成功信息
	 * @return json消息对象
	 */
	public static JsonMessage getErrorJsonMsg(Integer code,String msg) {
		JsonMessage jsonMessage = getJsonMessageInstance();
		jsonMessage.setSuccess(false);
		jsonMessage.setCode(code);
		jsonMessage.setMsg(msg);
		jsonMessage.setData(null);
		return jsonMessage;
	}

	/**
	 * Json消息对象，用来返回给前台json
	 * 
	 * @author suman 2016年8月15日 上午10:55:05
	 */
	public static JsonMessage getJsonMessageInstance(){
		return new JsonMessage();
	}

}

